﻿using System;
using System.Xml.Serialization;

namespace UmSoft.SharePoint.Integration.Bdc.Core
{
    /// <summary>
    /// Класс содержит информацию об документе 222
    /// </summary>
    [XmlRoot(Namespace = "http://www.umsoft.ru/")]
    public class DocumentItem
    {
        /// <summary>
        /// Идентификатор документа
        /// </summary>
        public string ID;

        /// <summary>
        /// Название документа в формате Документ.ИмяДокумента
        /// </summary>
        [XmlElement(ElementName = "Type")]
        public string DocumentName;

        /// <summary>
        /// Номер документа
        /// </summary>
        public string Number;

        /// <summary>
        /// Дата документа
        /// </summary>
        public DateTime Date;

        /// <summary>
        /// Набор реквизитов документа
        /// </summary>
        [XmlArray(ElementName = "Requisites", IsNullable = true)]
        public Requisite[] Requisites;

        /// <summary>
        /// Конструктор по умолчанию. Необходим для десериализации
        /// </summary>
        public DocumentItem()
        {
        }

        /// <summary>
        /// Основной конструктор
        /// </summary>
        /// <param name="id">Идентификатор документа</param>
        /// <param name="documentName">Название документа</param>
        /// <param name="number">Номер документа</param>
        /// <param name="date">Дата документа</param>
        /// <param name="data">Массив реквизитов документа</param>
        public DocumentItem(Guid id, string documentName, string number,
            DateTime date, Requisite[] data)
        {
            this.ID = id.ToString("B");
            this.DocumentName = string.Format("Документ.{0}", documentName);
            this.Number = number;
            this.Date = date;

            this.Requisites = data;
        }
    }
}
